#include "Amigo.h"

Amigo::Amigo(Email& enviado,Email& recebido,int& estado)
{
    setBasicInfo(enviado,recebido,estado);
}

void Amigo::setBasicInfo(Email& enviado,Email& recebido,int& estado)
{
    setEnviado(enviado);
    setRecebido(recebido);
    setEstado(estado);
}

void Amigo::setEnviado(Email& enviado)
{
    this->enviado = enviado;
}

void Amigo::setRecebido(Email& recebido)
{
    this->recebido = recebido;
}

void Amigo::setEstado(int& estado)
{
    validarEstado(estado);
    this->estado = estado;
}

void Amigo::validarEstado(int& estado)
{
    if(estado!=Estados::DELETADO and estado!=Estados::PENDENTE and estado!=Estados::CONFIRMADO)
    {
        throw invalid_argument("O estado nao e valido.");
    }
}
